package com.znxs.user_center_c.model.vo;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableLogic;
import com.fasterxml.jackson.annotation.JsonFormat;
import com.znxs.user_center_c.model.entity.User;
import lombok.Data;
import org.springframework.beans.BeanUtils;

import java.io.Serializable;
import java.util.Date;

@Data
public class UserVO implements Serializable {
    /**
     * id
     */
    @TableId(type = IdType.AUTO)
    private Long id;

    /**
     * 用户账户（不重复，不为空）
     */
    private String userAccount;


    /**
     * 用户昵称
     */
    private String userNickname;

    /**
     * 用户头像
     */
    private String avatarUrl;

    /**
     * 性别（0-女，1-男）
     */
    private Integer gender;

    /**
     * 用户邮箱
     */
    private String userEmail;

    /**
     * 用户角色（ 0-普通用户，1-管理员，2-vip）
     */
    private Integer userRole;

    /**
     * 用户状态 （0-停用，1-启用）
     */
    private Integer userStatus;

    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd HH:mm:ss", timezone = "GMT+8")
    private Date createTime;

    @TableField(exist = false)
    private static final long serialVersionUID = 1L;

    /**
     * VO封装类 转 实体类
     * @param userVO
     * @return
     */
    public static User voToObj(UserVO userVO){
        if (userVO == null){
            return null;
        }
        User user = new User();
        BeanUtils.copyProperties(userVO,user);
        return user;
    }
    public static UserVO objToVO(User user){
        if (user == null){
            return null;
        }
        UserVO userVO = new UserVO();
        BeanUtils.copyProperties(user,userVO);
        return userVO;
    }






}